home *** CD-ROM | disk | FTP | other *** search
/ Java Programmer's Toolkit / Java Programmer's Toolkit.iso / applets / cmos / kvd / espresso.txt < prev    next >
Encoding:
Text File  |  1995-12-05  |  20.7 KB  |  661 lines

  1.  
  2.  
  3.  
  4. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  5.  
  6.  
  7.  
  8. NAME
  9.      espresso - input file format for espresso(1OCTTOOLS)
  10.  
  11. DESCRIPTION
  12.      _E_s_p_r_e_s_s_o accepts as  input  a  two-level  description  of  a
  13.      Boolean  function.   This is described as a character matrix
  14.      with keywords embedded in the input to specify the  size  of
  15.      the  matrix  and  the  logical format of the input function.
  16.      Programs exist to translate a set  of  equations  into  this
  17.      format    (e.g.,    eqntott(1OCTTOOLS),    bdsyn(1OCTTOOLS),
  18.      eqntopla(1OCTTOOLS)).  This manual page  refers  to  Version
  19.      2.3 of _E_s_p_r_e_s_s_o.
  20.  
  21.      Comments are allowed within the input  by  placing  a  pound
  22.      sign  (#)  as  the  first character on a line.  Comments and
  23.      unrecognized keywords are passed  directly  from  the  input
  24.      file  to  standard  output.   Any white-space (blanks, tabs,
  25.      etc.), except when used as a delimiter in an  embedded  com-
  26.      mand,  is  ignored.  It is generally assumed that the PLA is
  27.      specified such that each row of the PLA  fits  on  a  single
  28.      line in the input file.
  29.  
  30. KEYWORDS
  31.      The following keywords are recognized by _e_s_p_r_e_s_s_o.  The list
  32.      shows  the  probable order of the keywords in a PLA descrip-
  33.      tion.  [d] denotes a decimal number and [s] denotes  a  text
  34.      string.   The  minimum required set of keywords is .i and .o
  35.      for binary-valued  functions,  or  .mv  for  multiple-valued
  36.      functions.
  37.  
  38.      .i [d]      Specifies the number of input variables.
  39.  
  40.      .o [d]      Specifies the number of output functions.
  41.  
  42.      .mv [num_var] [num_binary_var] [d1] . . . [dn]
  43.                  Specifies the number of variables (num_var), the
  44.                  number of binary variables (num_binary_var), and
  45.                  the size of each of  the  multiple-valued  vari-
  46.                  ables (d1 through dn).
  47.  
  48.      .ilb [s1] [s2] . . . [sn]
  49.                  Gives the names of the binary valued  variables.
  50.                  This  must  come after .i and .o (or after .mv).
  51.                  There must be as many tokens following the  key-
  52.                  word as there are input variables.
  53.  
  54.      .ob [s1] [s2] . . . [sn]
  55.                  Gives the names of the output  functions.   This
  56.                  must come after .i and .o (or after .mv).  There
  57.                  must be as many tokens following the keyword  as
  58.                  there are output variables.
  59.  
  60.  
  61.  
  62.  
  63. Sun Release 4.1    Last change: 22 August 1986                  1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  71.  
  72.  
  73.  
  74.      .label var=[d] [s1] [s2] ...
  75.                  Specifies the names of the parts of a  multiple-
  76.                  valued  variable.   This  must  come  after .mv.
  77.                  There must be as many tokens following the  key-
  78.                  word as there are parts for this variable.  Note
  79.                  that the variables are numbered starting from 0.
  80.  
  81.      .type [s]   Sets the logical interpretation of the character
  82.                  matrix   as   described   below  under  "Logical
  83.                  Description of a PLA".  This keyword  must  come
  84.                  before  any  product terms.  [s] is one of f, r,
  85.                  fd, fr, dr, or fdr.
  86.  
  87.      .phase [s]  [s] is a string of as many 0's or 1's  as  there
  88.                  are output functions.  It specifies which polar-
  89.                  ity of each output function should be  used  for
  90.                  the  minimization (a 1 specifies that the ON-set
  91.                  of the corresponding output function  should  be
  92.                  used,  and a 0 specifies that the OFF-set of the
  93.                  corresponding output function should  be  minim-
  94.                  ized).
  95.  
  96.      .pair [d]   Specifies the number of pairs of variables which
  97.                  will  be paired together using two-bit decoders.
  98.                  The rest of the line contains pairs  of  numbers
  99.                  which  specify  the  binary variables of the PLA
  100.                  which will be paired together.  The binary vari-
  101.                  ables  are  numbered  starting  with 0.  The PLA
  102.                  will be reshaped so  that  any  unpaired  binary
  103.                  variables occupy the leftmost part of the array,
  104.                  then the  paired  multiple-valued  columns,  and
  105.                  finally  any  multiple-valued variables.  If the
  106.                  labels have been specified using .ilb, then  the
  107.                  variable names may be used instead of the column
  108.                  number.
  109.  
  110.      .symbolic [s0] [s1] . . . [sn] ; [t0] [t1]  . . . [tm] ;
  111.                  Specifies that the binary-valued variables named
  112.                  [s0]  thru [sn] are to be considered as a single
  113.                  multiple-valued variable.  Variable [s0] is con-
  114.                  sidered  the most significant bit, [s1] the next
  115.                  most significant, and [sn] is the least signifi-
  116.                  cant  bit.   This  creates  a variable with 2**n
  117.                  parts  corresponding  to  the  decodes  of   the
  118.                  binary-valued variables.  The keywords [t0] thru
  119.                  [tm] provide the labels for each decode of  [s0]
  120.                  thru  [sn].   ([t0]  corresponds  to  a value of
  121.                  00...00, [t1] is the value 00...01, etc.).   The
  122.                  binary-variables  may  be  identified  by column
  123.                  number, or by variable name when .ilb  is  used.
  124.                  The  binary-variables are removed from the func-
  125.                  tion  after  the  multiple-valued  variable   is
  126.  
  127.  
  128.  
  129. Sun Release 4.1    Last change: 22 August 1986                  2
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  137.  
  138.  
  139.  
  140.                  created.
  141.  
  142.      .symbolic-
  143.                  output [s0] [s1] . . . [sn] ; [t0] [t1] . . . [tm] ;
  144.                  Specifies that the  output  functions  [s0]  ...
  145.                  [sn]  are  to be considered as a single symbolic
  146.                  output.  This creates 2**n more output variables
  147.                  corresponding to the possible values of the out-
  148.                  puts.  The outputs may be identified  by  number
  149.                  (starting  from 0), or by variable name when .ob
  150.                  is used.  The outputs are removed from the func-
  151.                  tion after the new set of outputs is created.
  152.  
  153.      .kiss       Sets up for a _k_i_s_s-style minimization.
  154.  
  155.      .p [d]      Specifies the number of product terms.  The pro-
  156.                  duct  terms  (one  per  line) follow immediately
  157.                  after this  keyword.   Actually,  this  line  is
  158.                  ignored, and the ".e", ".end", or the end of the
  159.                  file indicate the end of the input description.
  160.  
  161.      .e (.end)   Optionally marks the end of the PLA description.
  162.  
  163.  
  164.  
  165. LOGICAL DESCRIPTION OF A PLA
  166.      When we speak of the ON-set of a Boolean function,  we  mean
  167.      those minterms which imply the function value is a 1.  Like-
  168.      wise, the OFF-set are those terms which imply  the  function
  169.      is  a 0, and the DC-set (don't care set) are those terms for
  170.      which the function is unspecified.  A function is completely
  171.      described by providing its ON-set, OFF-set and DC-set.  Note
  172.      that all minterms lie in the union of  the  ON-set,  OFF-set
  173.      and DC-set, and that the ON-set, OFF-set and DC-set share no
  174.      minterms.
  175.  
  176.      The purpose of the _e_s_p_r_e_s_s_o minimization program is to  find
  177.      a logically equivalent set of product-terms to represent the
  178.      ON-set and optionally minterms  which  lie  in  the  DC-set,
  179.      without containing any minterms of the OFF-set.
  180.  
  181.      A Boolean function can be described in one of the  following
  182.      ways:
  183.  
  184.      1)   By providing the ON-set.  In this case,  _e_s_p_r_e_s_s_o  com-
  185.           putes  the  OFF-set as the complement of the ON-set and
  186.           the DC-set is empty.  This is indicated with  the  key-
  187.           word .type f in the input file.
  188.  
  189.      2)   By providing the ON-set  and  DC-set.   In  this  case,
  190.           _e_s_p_r_e_s_s_o  computes the OFF-set as the complement of the
  191.           union of the ON-set and the  DC-set.   If  any  minterm
  192.  
  193.  
  194.  
  195. Sun Release 4.1    Last change: 22 August 1986                  3
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  203.  
  204.  
  205.  
  206.           belongs  to both the ON-set and DC-set, then it is con-
  207.           sidered a don't care and may be removed from the ON-set
  208.           during  the  minimization  process.   This is indicated
  209.           with the keyword .type fd in the input file.
  210.  
  211.      3)   By providing the ON-set and  OFF-set.   In  this  case,
  212.           _e_s_p_r_e_s_s_o  computes  the DC-set as the complement of the
  213.           union of the ON-set and the OFF-set.  It  is  an  error
  214.           for  any  minterm to belong to both the ON-set and OFF-
  215.           set.  This error may not be detected during the minimi-
  216.           zation,  but  it  can be checked with the subprogram "-
  217.           Dcheck" which will check the consistency of a function.
  218.           This  is  indicated  with  the  keyword .type fr in the
  219.           input file.
  220.  
  221.      4)   By providing the ON-set, OFF-set and DC-set.   This  is
  222.           indicated with the keyword .type fdr in the input file.
  223.  
  224.      If at all possible, _e_s_p_r_e_s_s_o  should  be  given  the  DC-set
  225.      (either  implicitly  or  explicitly) in order to improve the
  226.      results of the minimization.
  227.  
  228.      A term is represented by a "cube" which  can  be  considered
  229.      either a compact representation of an algebraic product term
  230.      which implies the function value is a 1, or as a representa-
  231.      tion  of  a  row in a PLA which implements the term.  A cube
  232.      has an input part which corresponds to the input plane of  a
  233.      PLA,  and  an  output  part  which corresponds to the output
  234.      plane of a PLA (for the multiple-valued case, see below).
  235.  
  236.  
  237. SYMBOLS IN THE PLA MATRIX AND THEIR INTERPRETATION
  238.      Each position in the input plane  corresponds  to  an  input
  239.      variable  where  a 0 implies the corresponding input literal
  240.      appears complemented in the product term, a  1  implies  the
  241.      input  literal  appears  uncomplemented in the product term,
  242.      and - implies the input literal does not appear in the  pro-
  243.      duct term.
  244.  
  245.      With type _f, for each output, a 1 means  this  product  term
  246.      belongs  to the ON-set, and a 0 or - means this product term
  247.      has no meaning for the value of this  function.   This  type
  248.      corresponds  to an actual PLA where only the ON-set is actu-
  249.      ally implemented.
  250.  
  251.      With type _f_d (the default), for each output, a 1 means  this
  252.      product  term  belongs to the ON-set, a 0 means this product
  253.      term has no meaning for the value of this function, and a  -
  254.      implies this product term belongs to the DC-set.
  255.  
  256.      With type _f_r, for each output, a 1 means this  product  term
  257.      belongs  to  the ON-set, a 0 means this product term belongs
  258.  
  259.  
  260.  
  261. Sun Release 4.1    Last change: 22 August 1986                  4
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  269.  
  270.  
  271.  
  272.      to the OFF-set, and a - means this product term has no mean-
  273.      ing for the value of this function.
  274.  
  275.      With type _f_d_r, for each output, a 1 means this product  term
  276.      belongs  to  the ON-set, a 0 means this product term belongs
  277.      to the OFF-set, a - means this product term belongs  to  the
  278.      DC-set, and a ~ implies this product term has no meaning for
  279.      the value of this function.
  280.  
  281.      Note that regardless of the type of PLA,  a  ~  implies  the
  282.      product  term has no meaning for the value of this function.
  283.      2 is allowed as a synonym for -, 4 is allowed for 1,  and  3
  284.      is allowed for ~.
  285.  
  286. MULTIPLE-VALUED FUNCTIONS
  287.      Espresso will also minimize  multiple-valued  Boolean  func-
  288.      tions.   There can be an arbitrary number of multiple-valued
  289.      variables, and each can be of a different  size.   If  there
  290.      are  also  binary-valued  variables, they should be given as
  291.      the first variables on the line (for ease  of  description).
  292.      Of  course,  it is always possible to place them anywhere on
  293.      the line as  a  two-valued  multiple-valued  variable.   The
  294.      function size is described by the embedded option .mv rather
  295.      than .i and .o.
  296.  
  297.      A multiple-output binary function with _n_i inputs and _n_o out-
  298.      puts  would  be  specified as .mv _n_i+_1 _n_i _n_o.  .mv cannot be
  299.      used with either .i or .o - use one or the other to  specify
  300.      the function size.
  301.  
  302.      The binary variables are given as described above.  Each  of
  303.      the multiple-valued variables are given as a bit-vector of 0
  304.      and 1 which have their  usual  meaning  for  multiple-valued
  305.      functions.   The  last multiple-valued variable (also called
  306.      the output) is interpreted as described above for the output
  307.      (to  split the function into an ON-set, OFF-set and DC-set).
  308.      A vertical bar | may be used to separate the multiple-valued
  309.      fields in the input file.
  310.  
  311.      If the size of the multiple-valued field is less than  zero,
  312.      than  a  symbolic  field is interpreted from the input file.
  313.      The absolute value of the size specifies the maximum  number
  314.      of unique symbolic labels which are expected in this column.
  315.      The symbolic labels are  white-space  delimited  strings  of
  316.      characters.
  317.  
  318.      To perform a _k_i_s_s-style encoding problem, the keyword  .kiss
  319.      should  be included in the file.  The third to last variable
  320.      on the input file must be the symbolic "present state",  and
  321.      the  second  to  last variable must be the "next state".  As
  322.      always, the last variable is the output.  The symbolic "next
  323.      state" will be hacked to be actually part of the output.
  324.  
  325.  
  326.  
  327. Sun Release 4.1    Last change: 22 August 1986                  5
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  335.  
  336.  
  337.  
  338. EXAMPLE #1
  339.      A two-bit adder which takes in two 2-bit operands  and  pro-
  340.      duces a 3-bit result can be described completely in minterms
  341.      as:
  342.  
  343.                # 2-bit by 2-bit binary adder (with no carry input)
  344.                .i 4
  345.                .o 3
  346.                0000  000
  347.                0001  001
  348.                0010  010
  349.                0011  011
  350.                0100  001
  351.                0101  010
  352.                0110  011
  353.                0111  100
  354.                1000  010
  355.                1001  011
  356.                1010  100
  357.                1011  101
  358.                1100  011
  359.                1101  100
  360.                1110  101
  361.                1111  110
  362.  
  363.  
  364.      It is also possible to specify some extra options, such as:
  365.  
  366.                # 2-bit by 2-bit binary adder (with no carry input)
  367.                .i 4
  368.                .o 3
  369.             .ilb a1 a0 b1 b0
  370.             .ob s2 s1 s0
  371.                .pair 2 (a1 b1) (a0 b0)
  372.                .phase 011
  373.                0000  000
  374.                0001  001
  375.                0010  010
  376.                .
  377.                .
  378.                .
  379.                1111  110
  380.             .e
  381.  
  382.  
  383.      The option ._p_a_i_r  indicates  that  the  first  binary-valued
  384.      variable should be paired with the third binary-valued vari-
  385.      able, and that the second variable should be paired with the
  386.      fourth  variable.   The function will then be mapped into an
  387.      equivalent multiple-valued minimization problem.
  388.  
  389.      The option ._p_h_a_s_e indicates that the  positive-phase  should
  390.  
  391.  
  392.  
  393. Sun Release 4.1    Last change: 22 August 1986                  6
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  401.  
  402.  
  403.  
  404.      be used for the second and third outputs, and that the nega-
  405.      tive phase should be used for the first output.
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459. Sun Release 4.1    Last change: 22 August 1986                  7
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  467.  
  468.  
  469.  
  470. EXAMPLE #2
  471.      This example shows a description of a multiple-valued  func-
  472.      tion with 5 binary variables and 3 multiple-valued variables
  473.      (8 variables total) where the multiple-valued variables have
  474.      sizes  of  4  27  and 10 (note that the last multiple-valued
  475.      variable is the "output" and also encodes the ON-set, DC-set
  476.      and OFF-set information).
  477.  
  478.           .mv 8 5 4 27 10
  479.           .ilb in1 in2 in3 in4 in5
  480.           .label var=5 part1 part2 part3 part4
  481.           .label var=6 a b c d e f g h i j k l m n
  482.               o p q r s t u v w x y z a1
  483.           .label var=7 out1 out2 out3 out4 out5 out6
  484.               out7 out8 out9 out10
  485.           0-010|1000|100000000000000000000000000|0010000000
  486.           10-10|1000|010000000000000000000000000|1000000000
  487.           0-111|1000|001000000000000000000000000|0001000000
  488.           0-10-|1000|000100000000000000000000000|0001000000
  489.           00000|1000|000010000000000000000000000|1000000000
  490.           00010|1000|000001000000000000000000000|0010000000
  491.           01001|1000|000000100000000000000000000|0000000010
  492.           0101-|1000|000000010000000000000000000|0000000000
  493.           0-0-0|1000|000000001000000000000000000|1000000000
  494.           10000|1000|000000000100000000000000000|0000000000
  495.           11100|1000|000000000010000000000000000|0010000000
  496.           10-10|1000|000000000001000000000000000|0000000000
  497.           11111|1000|000000000000100000000000000|0010000000
  498.                               .
  499.                               .
  500.                               .
  501.           11111|0001|000000000000000000000000001|0000000000
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525. Sun Release 4.1    Last change: 22 August 1986                  8
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  533.  
  534.  
  535.  
  536. EXAMPLE #3
  537.      This example shows a description of a multiple-valued  func-
  538.      tion  setup for _k_i_s_s-style minimization.  There are 5 binary
  539.      variables, 2 symbolic variables (the present-state  and  the
  540.      next-state of the FSM) and the output (8 variables total).
  541.  
  542.           .mv 8 5 -10 -10 6
  543.           .ilb io1 io0 init swr mack
  544.           .ob wait minit mrd sack mwr dli
  545.           .type fr
  546.           .kiss
  547.           --1--     -        init0     110000
  548.           --1--     init0    init0     110000
  549.           --0--     init0    init1     110000
  550.           --00-     init1    init1     110000
  551.           --01-     init1    init2     110001
  552.           --0--     init2    init4     110100
  553.           --01-     init4    init4     110100
  554.           --00-     init4    iowait    000000
  555.           0000-     iowait   iowait    000000
  556.           1000-     iowait   init1     110000
  557.           01000     iowait   read0     101000
  558.           11000     iowait   write0    100010
  559.           01001     iowait   rmack     100000
  560.           11001     iowait   wmack     100000
  561.           --01-     iowait   init2     110001
  562.           --0-0     rmack    rmack     100000
  563.           --0-1     rmack    read0     101000
  564.           --0-0     wmack    wmack     100000
  565.           --0-1     wmack    write0    100010
  566.           --0--     read0    read1     101001
  567.           --0--     read1    iowait    000000
  568.           --0--     write0   iowait    000000
  569.  
  570.  
  571.  
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591. Sun Release 4.1    Last change: 22 August 1986                  9
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. ESPRESSO(5OCTTOOLS)MISC. REFERENCE MANUAL PAGESESPRESSO(5OCTTOOLS)
  599.  
  600.  
  601.  
  602. EXAMPLE 4
  603.      This example shows the use of the .symbolic keyword to setup
  604.      a multiple-valued minimization problem.
  605.  
  606.           .i 15
  607.           .o 4
  608.           .ilb SeqActive<0> CacheOp<6> CacheOp<5> CacheOp<4>
  609.                CacheOp<3> CacheOp<2> CacheOp<1> CacheOp<0>
  610.                userKernel<0> Protection<1> Protection<0>
  611.                cacheState<1> cacheState<0> PageDirty<0>
  612.                WriteCycleIn<0>
  613.  
  614.           .ob CacheBusy<0> dataMayBeValid<0> dataIsValid<0>
  615.                WriteCycleOut<0>
  616.  
  617.           .symbolic CacheOp<6> CacheOp<5> CacheOp<4> CacheOp<3>
  618.                CacheOp<2> CacheOp<1> CacheOp<0> ;
  619.                FET NA PHY_FET PR32 PRE_FET PW32 RA32 RD32
  620.                RD64 RDCACHE RFO32 RFO64 TS32 WR32 WR64 WRCACHE ;
  621.  
  622.           .symbolic Protection<1> Protection<0> ;
  623.                PROT_KRO_UNA PROT_KRW_UNA PROT_KRW_URO PROT_KRW_URW ;
  624.  
  625.           .symbolic cacheState<1> cacheState<0> ;
  626.                CS_Invalid CS_OwnPrivate CS_OwnShared CS_UnOwned ;
  627.  
  628.           .p 22
  629.           0000001--010110 0001
  630.           0000001-1-00110 0001
  631.           00001011-01011- 0100
  632.           000010111-0011- 0100
  633.           0000--001--01-- 0100
  634.           0000-10--0-1--- 0100
  635.           0000-10-1--1--- 0100
  636.           00000-0--0-1--- 0100
  637.           00000-0-1--1--- 0100
  638.           0000-10--0--1-- 0100
  639.           0000-10-1---1-- 0100
  640.           00000-0--0--1-- 0100
  641.           00000-0-1---1-- 0100
  642.           ---1----------- 1000
  643.           --1------------ 1000
  644.           -1------------- 1000
  645.           1-------------- 1000
  646.           -------0------- 1000
  647.           ----1---------- 1000
  648.           -----0--------- 1000
  649.           ------0-------- 1000
  650.           --------------1 1110
  651.           .e
  652.  
  653.  
  654.  
  655.  
  656.  
  657. Sun Release 4.1    Last change: 22 August 1986                 10
  658.  
  659.  
  660.  
  661.